import type { IdDTO, SysBaseVO } from "../type/baseType";

/**
 * 角色搜索筛选
 */
export interface SysRoleFiltDTO {
    name?: string
}

/**
 * 角色编辑类型
 */
export interface SysRoleDTO extends IdDTO {
    name: string
    deptId?: string
    type: string
    comment?: number
    menuIds?: string[]
}

/**
 * 角色类型
 */
export interface SysRoleVO extends SysBaseVO {
    name: string
    deptId?: string
    type: string
    comment?: number
    menuIds?: string[]
}

/**
 * 角色VO转角色DTO
 * @param sysRoleVO 
 * @returns 
 */
export const sysRoleVOToDTO = (sysRoleVO: SysRoleVO, menuIds?: string[]): SysRoleDTO => {
    return {
        id: sysRoleVO.id,
        name: sysRoleVO.name,
        deptId: sysRoleVO.deptId,
        type: sysRoleVO.type,
        comment: sysRoleVO.comment,
        menuIds: menuIds
    }
}

/**
 * 角色数据权限编辑类型
 */
export interface SysRoleDataPermissionDTO {
    dataPermissionType: string
    deptIds?: string[]
}

/**
 * 角色数据权限类型
 */
export interface SysRoleDataPermissionVO {
    dataPermissionType: string
    deptIds?: string[]
}